API Test Automation এবং REST Assured

Computer Science - বিহ্যাভিয়ার ড্রাইভেন ডেভেলপমেন্ট (Behaviour Driven Development) - BDD এবং Test Automation
215

API Test Automation হল একটি প্রক্রিয়া যা সফটওয়্যারের API (Application Programming Interface) এর কার্যকারিতা, নিরাপত্তা এবং পারফরম্যান্স পরীক্ষা করতে ব্যবহৃত হয়। এটি সফটওয়্যার উন্নয়ন প্রক্রিয়ায় একটি গুরুত্বপূর্ণ অংশ, কারণ API গুলি বিভিন্ন সিস্টেম এবং অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগের মাধ্যম হিসেবে কাজ করে।

REST Assured হল একটি জনপ্রিয় Java ভিত্তিক লাইব্রেরি যা RESTful APIs টেস্ট করার জন্য ব্যবহৃত হয়। এটি API টেস্টিংকে সহজ এবং স্বয়ংক্রিয় করার জন্য সহজ ও স্বচ্ছ সিনট্যাক্স প্রদান করে।


API Test Automation এর গুরুত্ব

  1. কার্যকারিতা নিশ্চিত করা: API গুলির সঠিকভাবে কাজ করছে কি না তা নিশ্চিত করতে।
  2. দ্রুত ফিডব্যাক: উন্নয়ন প্রক্রিয়ায় দ্রুত ফিডব্যাক প্রদান করে, যা ডেভেলপারদের সমস্যাগুলি দ্রুত সমাধান করতে সাহায্য করে।
  3. নিরাপত্তা যাচাইকরণ: API গুলির নিরাপত্তা ভঙ্গ হয় কি না তা পরীক্ষা করে।
  4. সিস্টেমের স্থায়িত্ব: সিস্টেমের বিভিন্ন অংশের মধ্যে যোগাযোগ এবং ইন্টিগ্রেশন নিশ্চিত করতে।
  5. ডকুমেন্টেশন যাচাই: API ডকুমেন্টেশন সঠিকভাবে কাজ করছে কি না তা নিশ্চিত করতে।

REST Assured এর ব্যবহার

REST Assured ব্যবহার করে API টেস্ট অটোমেশন করা খুবই সহজ। এটি HTTP প্রোটোকল ব্যবহার করে RESTful সার্ভিসগুলির টেস্টিংয়ের জন্য ব্যবহৃত হয়। REST Assured API এর সহজ, ক্লিয়ার এবং স্বাভাবিক ভাষায় টেস্ট লেখার সুবিধা প্রদান করে।

1. Maven প্রকল্পে REST Assured যুক্ত করা

আপনার Maven প্রকল্পের pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যুক্ত করুন:

<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>5.1.1</version> <!-- সর্বশেষ সংস্করণ চেক করুন -->
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>

2. REST Assured ব্যবহার করে একটি API টেস্ট লেখা

নিচে একটি উদাহরণ দেয়া হলো যেখানে একটি GET রিকোয়েস্ট টেস্ট করা হচ্ছে:

import io.restassured.RestAssured;
import io.restassured.response.Response;
import org.junit.jupiter.api.Test;
import static org.hamcrest.Matchers.*;

public class ApiTest {

    @Test
    public void testGetRequest() {
        RestAssured.baseURI = "https://jsonplaceholder.typicode.com";

        Response response = RestAssured.given()
                .when()
                .get("/posts/1")
                .then()
                .statusCode(200)
                .body("userId", equalTo(1))
                .body("id", equalTo(1))
                .body("title", notNullValue())
                .extract()
                .response();

        System.out.println("Response: " + response.asString());
    }
}

কোডের ব্যাখ্যা:

  1. RestAssured.baseURI: API এর ভিত্তি URI নির্ধারণ করে।
  2. given(): পূর্ব শর্তগুলিকে সেট আপ করার জন্য ব্যবহার করা হয়।
  3. when(): HTTP রিকোয়েস্ট সম্পন্ন করার জন্য ব্যবহৃত হয়।
  4. then(): প্রত্যাশিত ফলাফল যাচাই করার জন্য ব্যবহৃত হয়, যেমন স্ট্যাটাস কোড এবং JSON ফিল্ড যাচাই করা।
  5. extract(): API রেসপন্সের তথ্য পাওয়ার জন্য ব্যবহৃত হয়।

API Test Automation এর অন্যান্য টুল

  1. Postman: API টেস্টিং এবং ডেভেলপমেন্টের জন্য একটি জনপ্রিয় টুল।
  2. SoapUI: SOAP এবং REST API টেস্টিংয়ের জন্য ব্যবহৃত হয়।
  3. Katalon Studio: API, Web, Mobile, এবং Desktop অ্যাপ্লিকেশন টেস্টিংয়ের জন্য একটি সম্পূর্ণ অটোমেশন টুল।
  4. JMeter: প্রধানত পারফরম্যান্স টেস্টিংয়ের জন্য ব্যবহৃত হয়, তবে এটি API টেস্টিংয়ের জন্যও ব্যবহার করা যেতে পারে।

সারসংক্ষেপ

API Test Automation হল একটি অপরিহার্য প্রক্রিয়া যা সফটওয়্যারের কার্যকারিতা, নিরাপত্তা এবং স্থায়িত্ব নিশ্চিত করতে সাহায্য করে। REST Assured একটি শক্তিশালী টুল যা RESTful APIs এর টেস্টিংকে সহজ করে এবং স্বয়ংক্রিয়ভাবে পরীক্ষার ফলাফল প্রদান করে। এই টুল এবং অন্যান্য API টেস্টিং টুলগুলি ব্যবহারের মাধ্যমে উন্নয়ন দলের জন্য একটি কার্যকরী এবং নির্ভরযোগ্য সফটওয়্যার তৈরি করতে সহায়ক।

Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...